/*
 * 寻找最长公共前缀
 *
 * 题目链接：https://programming.pku.edu.cn/probset/ce201cde75084b56ad4544229996fbf2/fc3a1ca9f51542e0a16943c667ffa20c/
 * 作者：lyazj <seeson@pku.edu.cn>
 *
 * 本题所需主要知识点：
 *   - 字符数组
 */

#include <stdio.h>

// 在编程网格中使用 gets 的方法，可能不适用于其他平台
char *gets(char *);

void solve(void)
{
  char s[4][256];
  for(int i = 0; i < 4; ++i) gets(s[i]);
  for(int i = 0, c; (c = s[0][i]); ++i) {  // 公共前缀下标
    // c 为可能的公共字符，为 '\0' 时表示字符串 s[0] 耗尽
    for(int j = 1; j < 4; ++j) {
      if(s[j][i] != c) return;  // 发现非公共字符，包含了 s[j][i] == '\0' 的情况
    }
    putchar(c);
  }
}

int main(void)
{
  solve();
  putchar('\n');
  return 0;
}
